package com.lemon.cloud.admin.service;

import cn.hutool.core.lang.tree.Tree;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lemon.cloud.admin.vo.AppMenuVO;
import com.lemon.cloud.comm.model.ResultMsg;
import com.lemon.cloud.comm.po.SysMenu;

import java.util.List;
import java.util.Set;

public interface SysMenuService extends IService<SysMenu> {

    List<SysMenu> getMenuByRoles(Long[] roleIds);

    List<Tree<Long>> filterMenu(Set<SysMenu> menuSet, String type, Long parentId, Long appId);

    List<Tree<Long>> treeMenu(boolean lazy, Long parentId, Long appId);

    List<AppMenuVO> findMenuByRoleId(Long roleId);

    ResultMsg<Boolean> removeMenuById(Long id);

    Boolean updateMenuById(SysMenu sysMenu);
}
